home *** CD-ROM | disk | FTP | other *** search
-
- G E N I E - Batch Scheduler & Processor
-
- version 2.2c
-
- (c) Jiri Severa, 1995
-
-
- GENIE is a utility designed to schedule and run batch jobs and progr-
- ams on an unattended network workstation. The user defines an array of
- jobs for GENIE and the program calls them at the dates and times spec-
- ified. The scheduled jobs can be repetitive or single run. After each
- job is run, GENIE reschedules itself according to the specs given.
- GENIE has security features built in which protect the network from
- unauthorized access.
-
- ┌────────────────────────────────────────────────────────┐
- │ Copyright notice - GENIE and its SET program are │
- │ the property of Jiri Severa of Ottawa, Canada. │
- │ This release of GENIE is freeware, designed to prom- │
- │ ote TSERVE, a NRC (Canada) based Time Server which │
- │ uses GENIE to schedule timesync sessions. The utility │
- │ is also available through the NOVUSER libraries. │
- │ Users who wish to support the development of this │
- │ utility are asked for a contribution of $15. │
- │ A personalized version of GENIE, featuring encrypted │
- │ batch files is available by subscription. Read below. │
- └────────────────────────────────────────────────────────┘
-
- WHAT IS NEW IN VERSION 2.x
-
- Those users familiar with GENIE will find a number of improv-
- ements from the previous version (1.2). Hourly jobs can be now
- schedules for individual days of the week. (Previously, only DAILY
- frequencies could be so defined.) Hourly jobs can now be started and
- ended at a defined time of the day. A new, and much sought-after
- feature allows the user to quit 'secure mode' GENIE by authenticat-
- ing his password, rather than by automatic logout. The logout now
- happens only if the user fails the security check.
- But by far the most useful new facility makes it possible for
- GENIE to run e n c r y p t e d b a t c h f i l e s (EBFs).
- EBFs are a way to protect the security of the network when logins
- with passwords are used in batch files. Most people are probably
- familiar with the trick of allowing the password to be piped to login
- on a batch file line. But the problem is that executing automatic
- logins in this manner gives away too much to the snoops. So you
- encrypt the batch file. Solves the problem.
-
- ┌────────────────────────────────────────────────────────────────────┐
- │ Shareware version 2.1 of GENIE allows user to test EBFs │
- │ with supplied common keys. The regular coding/decoding kit which │
- │ allows the user to create unique, for all intents and purposes │
- │ unbreakable, code for EBFs can be purchased for $30US ($38Can). │
- │ See USING ENCRYPTED BATCH FILES on page 7 of this guide for more │
- │ details on the use of EBFs. │
- └────────────────────────────────────────────────────────────────────┘
-
-
-
- GENIE GUIDE page 2
- ─────────────────────────────────────────────────────────────────────────
-
- OPERATING GENIE SOFTWARE
-
- GENIE is a two-part program - only a part of Genie will be in memory at
- any one time. GENIE.EXE is the on-line scheduler/processor which organ-
- izes the array of pending events and then dispatches them when the time
- comes. SETGENIE.EXE defines the jobs GENIE handles; it adds, edits, and
- deletes them. You may call each of them from the DOS prompt or, under
- certain circumstances, from within the other program. GENIE can handle
- all executables (DOS executables, that is), i.e. files with the extension
- .BAT, .COM, or .EXE. It can process up to 64 job definitions, a limitat-
- ion that has been taken to minimize the size of the scheduler-processor.
- For this reason also the SETGENIE module is a separate EXE file. Minim-
- izing GENIE maximizes the jobs it can run. Operating the software is
- extremely easy. The user only needs to understand the difference between
- an 'open' and 'secure' GENIE configuration, and be able to fill (edit)
- a simple job definition table.
-
- OPEN AND SECURE CONFIGURATION
-
- GENIE operates in two configurations: open and secure. The open
- configuration makes it easy to 'play' with the program, to test ind-
- vidual executions while maintaining an easy access to both parts of the
- program. When secure configuration is specified, GENIE protects the
- station by disabling the Ctrl-C (Ctrl-Break) termination and forcing
- a new password authentication servers on Esc key. Failing that the op-
- rator is logged out of all servers. Also, in secure mode, no run-time
- job modifications via SETGENIE are allowed.
- To run GENIE in open configuration simply type:
-
- C:\>GENIE <Enter>
-
- For secure configuration you need to run the program with a
- parameter:
-
- C:\>GENIE /S <Enter>
-
- When the program starts the configuration selected will be displayed
- in the lower left corner of the title box :
-
- ┌──────────────────────────────────────────────────────────────────────┐
- │ GENIE - Batch Scheduler & Processor (c) Jiri Severa, 1994, 1995 │
- │ │
- │ SECURE CONFIGURATION version 2.2b │
- └──────────────────────────────────────────────────────────────────────┘
-
- IMMEDIATE EXECUTION SWITCH
-
- Starting with version 2.2 GENIE may be run with an '/E' switch which
- allows defined and displayed jobs to be run immediately by pressing
- the Enter key while GENIE displays its jobs. The job selected by the
- viewer bar will execute. No changes are made to the regular schedule.
- The '/E' switch can be used in both the open and secure configurations,
- e.g.:
- C:\>GENIE /S /E <Enter>
-
- GENIE GUIDE page 3
- ─────────────────────────────────────────────────────────────────────────
-
- will still require password to exit to the prompt but will allow a casual
- user to execute jobs inside GENIE.
-
- ORDERS FILE
-
- When you first run GENIE the program will terminate with a message
- and if you are in OPEN config it will automatically transfer you to
- the SET program to define some events. The same will happen until you
- have created at least one valid job description for GENIE. The specs
- are held in a file called JOBS.CMD. This file is created in the path
- which is default at the time SETGENIE runs. Normally that would be the
- drive and directory where GENIE resides. In order for the program
- to find its job descriptions you either use the same default path when
- starting GENIE or SETGENIE, or you may define an environmental variable
- for GENIE and set it to the path where you want to store JOBS.CMD. e.g.
- like this :
-
- SET GENIE=C:\BATCH
-
- Remember: If the program cannot find its marching orders, it is because
- it does not 'know' where to look for them.
-
-
- CREATING AND EDITING GENIE JOBS
-
- All GENIE really has to know is what you want it to run, and when, or
- how often, if it is a repetitive task. Its jobs are set in SETGENIE.
- When you run SETGENIE, or are sent there to define jobs you will see this
- display at the start of the program :
-
- │
- Job Description ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ││
- ││
- ══════════════════════════════════════════════════ ││
- ││
- Frequency ▒▒▒▒▒▒▒▒▒▒ Last Run : date mm/dd/yy ││
- ┌──┬──┬──┬──┬──┬──┬──┐ ──────── ││
- │Mo│Tu│We│Th│Fr│Sa│Su│ time hh:mm:ss ││
- │ │ │ │ │ │ │ │ ││
- ├──┴──┴──┴──┴┬─┴──┴──┤ ││
- │ start time │ ▒▒:▒▒ │ Next Run : date mm/dd/yy ││
- │ end time │ ▒▒:▒▒ │ ──────── ││
- └────────────┴───────┘ time hh:mm:ss ││
- Command ││
- File Path ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ││
- ││
- ────────────────────────────────────────────────────────┘│
- ────────────────────────────────────────────────────────┘
-
- On the bottom line there will be the following message:
-
- ┘= Edit command file data, ''A''=add, ''S''=save, F5=Genie [ ] ...Esc=quit
-
-
- GENIE GUIDE page 4
- ─────────────────────────────────────────────────────────────────────────
-
- When no jobs have been defined yet, you do not have really that many
- options about what you can do. The only meaningful command will be 'A'
- to add new jobs. Press the letter 'A'. The cursor will appear in the
- Job Description field and the bottom line message will prompt you to
- edit a command file record. Choose a meaningful Job Description and
- press Enter when finished (the program will automatically skip to the
- next field if you run out of spaces).
- F r e q u e n c y : Jobs can be either 'SINGLE RUN' or defined as
- periodic. Valid periodic frequency descriptions are : 'HOURLY',
-
- 'DAILY','WEEKLY','MONTHLY', or specifying (Every) 'XX HOURS', or
- 'XX DAYS'. Digits preceeding the HOURS description can contain
- fractions ½ and ¼ (which you can obtain by pressin Alt-171, 172 (on the
- Numkey Pad. When you choose 'DAILY' or 'HOUR/S/LY' you will prompted to
- pick the days of the week the job is to be run. If you do not choose any
- day and respond by pressing Enter, the system will pick Monday to Friday
- by default. (The system will not accept an empty days-on table. You
- must pick at least one day to overwrite the default). Follow the instr-
- uctions at the bottom of the screen when unsure how to proceed.
- T o m o v e b a c k w a r d s to the previous field press Left-Shift
- from the first position of the current field.
- Starting with version 2.0, you may pick starting and ending hour and
- minute for jobs run on an hourly basis.
-
- N e x t R u n : specify date and time when the job is to be run
- next (Last Run date and time are just info fields). Time is military:
- 0 - 24 hours.
- C o m m a n d f i l e p a t h : enter the full path ( with the
- drive letter !!!) of the file that is to be run. Remember only execut-
- able files - those with the extensions of .BAT, .COM, and .EXE - can
- be specified. Registered users may also purchase a kit to encode
- their batch files into an .EBF format. Please, see page 1 for details.
-
- ┌──────────────────────────────────────────────────────────────────────┐
- │ IMPORTANT : If your .COM or .EXE programs take any command line │
- │ parameters then you must create a batch file for them. │
- │ This version of GENIE does not parse the command line. │
- └──────────────────────────────────────────────────────────────────────┘
-
- When you clear the last field you will be prompted to ACCEPT the job
- definition table. If you reply 'Y' the job definition is filed in
- ORDERS. You may now edit the table (by pressing ENTER), save the ORDERS
- file immediately (by pressing 'S') or simply quit by Esc.
-
-
- GENIE GUIDE page 5
- ─────────────────────────────────────────────────────────────────────────
-
- To edit any of the jobs previously defined, press Enter when
- the menu selector appears on the bottom line.
-
- ╔════════════════════════════════╗
- ║ COMMAND FILE DESCRIPTION ║
- ╟────────────────────────────────╢
- ║ Time Synchronization ║
- ║ Unload Oracle Database ║ │
- ║ Daily Palindrome BackUp ║▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ││
- ║ Reload Oracle Database ║ ││
- ║ Clear old e-mail notifications ║══════════════════════ ││
- ║ Broadcast Don's Birthday Party ║ ││
- ║ ║ Run : date mm/dd/yy ││
- ║ ║ ──────── ││
- ║ ║ time hh:mm:ss ││
- ║ ║ ││
- ╚════════════════════════════════╝ ││
- └──┴──┴──┴──┴──┴──┴──┘ Next Run : date mm/dd/yy ││
- ──────── ││
- time hh:mm:ss ││
- Command ││
- File Path ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒ ││
- ││
- ────────────────────────────────────────────────────────┘│
- ────────────────────────────────────────────────────────┘
-
- A pick list of defined jobs appears and you are prompted to select.
- Once you select the table is returned with the current values for the
- job. You may modify them moving throught the table in the same manner
- as when you created them. You also have a choice to DELETE the job
- from the roster by pressing (F9) while editing. You will be prompted
- to confirm the deletion.
-
- RUNNING GENIE
-
- Running GENIE itself is effortless. No operator's intervention is
- necessary and most of the time not even desirable. The program assembles
- and sorts the defined jobs and then launches them according to the
- schedule. After each job, GENIE reschedules the lot, discarding single-
- run jobs that expired.
-
- ╔══════════════════════════════════════════════════════════════╗
- ║ S C H E D U L E D E V E N T S ║
- ╠══════════════════════════════════════════════════════════════╣
- ║ d e s c r i p t i o n frequency next run ║
- ╟──────────────────────────────────────────────────────────────╢
- > Clear old-e mail notificati[01] DAILY 05/15/94 02:20:00 <
- ║ Time Synchronization 4 HOURS 05/15/94 03:00:00 ║
- ║ Unload Oracle Database DAILY 05/15/94 03:20:00 ║
- ║ Daily Palindrome BackUp DAILY 05/15/94 03:30:00 ║
- ║ Reload Oracle Database DAILY 05/15/94 04:30:00 ║
- ║ Broadcast Don's Birthday Party SINGLE RUN 05/16/94 15:00:00 ║
- ╠═════════════════════════╦═j═o═b═══f═i═l═e════════════════════╣
- ║ 14-May-94 23:12:18 ║ C:\NOTIFY.BAT ║
- ╚═════════════════════════╩════════════════════════════════════╝
-
- GENIE GUIDE page 6
- ─────────────────────────────────────────────────────────────────────────
- All jobs are listed and the display may be scrolled to see their next
- scheduled run. Use up and down arrows. The next job, on top of the
- list is displayed with a selector bar and its file is listed in the
- bottom right-hand corner. You may run a set-up like this for weeks
- without intervention. Just make sure that the USER logged at the
- workstation where GENIE runs has sufficent rights for all the tasks.
-
- BTRACK MARKER UTILITY
-
- BTRACK.EXE is placed in a batch file to mark progress of a GENIE job.
- Starting with version 1.2 GENIE reports on the execution of individual
- jobs after the program resumes. The problem with reporting on .BAT
- file result is that no DOS errorlevel flag is passed through batch files
- and therefore the true result of the operation is lost. To allow the
- trapping of DOS errorlevels after each run within the batch BTRACK can
- be set to report, e.g.:
-
- (inside a batch file BTRIEVE.BAT)
- :
- BTRIEVE /P:1024 /T:C:\UTIL
- IF ERRORLEVEL 1 GOTO NO_START
- BTRACK btrieve_executed_normally
- GOTO EXIT
- :NO_START
- BTRACK btrieve_did_not_execute
- :EXIT
-
- Depending on whether the program BTRIEVE executed normally the GEN.LOG
- file would report :
- program executed normally.
- Last btrack marker was : btrieve_executed_normally
- if succesful and :
- program executed normally.
- Last btrack marker was : btrieve_did_not execute
- in case of failure.
-
- The BTRACK command is : BTRACK [comment]
-
- If no comment is present the marker will not be reported. Comment is
- copied into the GEN.LOG exactly as entered (no quote marks are needed)
- and may be up to 64 characters long.
-
- UPGRADING FROM EARLIER VERSIONS OF GENIE
-
- The job file of GENIE version has been updated to take into account
- the hourly start and end time limits. To prevent confusion, the file
- has been renamed from ORDERS.CMD to JOBS.CMD. If you want to convert
- your GENIE v. 1.x job definitions, you may use the ORD2JOB.EXE util-
- ity supplied in the package. Like with GENIE, if you have not set
- your environmental variable, you must be in the GENIE directory to
- for the program to find the ORDERS file. To execute the utility, simply
- type ORD2JOB.
-
-
- GENIE GUIDE page 7
- ─────────────────────────────────────────────────────────────────────────
-
- USING ENCRYPTED BATCH FILES (EBFs)
-
- This version of GENIE allows the user to execute encrypted batch
- files. EBFs make it possible to automate sensitive processes,
- such as logins, without exposing privileged information, e.g.
- passwords, or as a means of denying the user the opportunity to
- tamper with the script. The following simple batch attaches
- the user to a server automatically:
-
- rem the following line prevents double attach
- logout myserver
- rem attach to myserver and pipe the password
- echo valid_password|login myserver/userID
-
- Most network administrators frown on the use of scripts like
- this one because they compromise security. But in a day and age
- when a multiserver environment forces multiple session profiles,
- it becomes difficult to police this sort of creativity. Everyone
- does it sooner or later.
- In larger installations, encoding batch scripts protects
- the system also against accidental 'improvements' by eager
- support staff, who might not always know why certain things
- are done this way as opposed to another way. Finally, EBFs help
- to control access servers dedicated to a special purpose but which
- the connecting 'remote PC' software may leave open to a general
- type of network login. EBFs are a way of forcing the issue.
- GENIE, version 2.x has an EBF processor built in. It can
- handle scripts up to 4K. GENIE, being the companion product of
- TSERVE, provides a neat and relatively secure way of servicing
- more than the limit of 8 servers of the time-synchronizer unit
- (NSMF.EXE). You can set up multiple synchronization sessions
- by attaching to a set of servers and then running the sync
- module.
- The EBF test kit offered here consists of two files:
-
- * KEYS.DFF - is the sample, predefined coding keys file. After
- unzipping the pack it m u s t be placed into the
- root of the C drive !!!
- * MAKEEBF.EXE - this is the file which converts .BAT files (and
- other files) into .EBF format. To convert a
- script, do simply :
-
- MAKEEBF C:\MYPATH\MYFILE.BAT
-
- MYFILE.BAT will be translated to MYFILE.EBF (in the
- same path). Two things: for the conversion to take
- place, KEYS.DFF must be in the root of C drive.
- Second, the program does n o t destroy the origin-
- al file; it is your responsibility to dispose of it.
-
- After an EBFile has been created it may be invoked from GENIE,
- like any other .EXE, .COM, or .BAT file.
-
-
- GENIE GUIDE page 8
- ─────────────────────────────────────────────────────────────────────────
-
- ╔ THE EBF KIT OFFER═══════════════════════════════════════════════╗
- ║ ║
- ║ Hopefully, the importance of the security features built into ║
- ║ the EBF concept need not be harped on. The full kit includes ║
- ║ the following : ║
- ║ ║
- ║ MAKEKEY.EXE - an interactive utility which builds custom key ║
- ║ definition files. ║
- ║ ║
- ║ READEBF.EXE - a EBF decoder which lets you display the ║
- ║ contents of an EBF on the screen or capture ║
- ║ them in a file. ║
- ║ ║
- ║ EBF.EXE - a command line utility which executes an EBFile. ║
- ║ ║
- ║ EBF.DOC - a user guide to the utilities. ║
- ║ ║
- ║ On top its use as batch file encryptor/decryptor the MAKE/ ║
- ║ READ utility can do that with any text or binary file. ║
- ║ An original 'bit-dispersion' algorithm and a private key ║
- ║ render the code very, very close to unbreakable. The EBF.DOC ║
- ║ explains how to set up multiple 'locking' of a document on ║
- ║ any number of keys. ║
- ║ ║
- ║ To obtain the kit, please, send $30 US ($38 Can) by check or ║
- ║ money order to the address below. ║
- ╚═════════════════════════════════════════════════════════════════╝
-
- JIRI SEVERA
- 101 Renfrew #3
- Ottawa, ON
- Canada K1S 1Z6
-
- Compuserve 70534,3475
- Internet : jiri@mmcl.ott.ca, ah158@freenet.carleton.ca
-
-
- GENIE GUIDE page 9
- ─────────────────────────────────────────────────────────────────────────
-
- VERSION HISTORY
-
- Version 1.2
- June 16, 1994
- ■ Weekdays selection for DAILY jobs defined by GENIE
- ■ Searching for the existence of .BAT files, reporting in log if
- batch file is missing
- ■ BTRACK facility : marks execution steps in batch files for job
- tracking purposes
-
- Version 2.0
- Sep 10, 1994
- ■ Hourly jobs can be now defined on selected weekdays, with starting
- and ending hours.
- ■ GENIE in secure mode does not automatically log user off, but
- verifies password
- ■ Handling of EBFs (encrypted batch files)
-
- Version 2.1
- Oct 26, 1994
- ■ EBFs handled by internal processor
-
- Version 2.1a
- Dec 6, 1994
- ■ When idling GENIE now checks constantly Novell's broadcast message
- status at the workstation. It sets it to CASTOFF mode whenever it
- finds it was switched on. This effectively inhibits the broadcast of
- console messages.
-
- Version 2.1b
- Dec 12, 1994
- ■ GENIE was fixed so it can run batch files on PCs without hard disk.
- Previously .BAT and .EBF files were run using a COMMAND.COM in
- C:\DOS directory. If there was not found there the batch would not
- execute (Log reported error #3).
- The modified procedure now follows the COMSPEC environmental var-
- iable (set either by SHELL statement in CONFIG.SYS or SET COMPSPEC
- in AUTOEXEC.BAT) when looking for the secondary processor.
-
- Version 2.2 and 2.2b
- Feb 10, 1995
- ■ Added Immediate Execution switch which allows any of the jobs listed
- to be run at once by pressing Enter.
- ■ BMARKER utility now produces time stamp with each issue.
- ■ Recompiled all components as bench compiler discovered to contain
- corrupted sections
-
- Version 2.2c
- Apr 6, 1995
- ■ Jobs run under 'do now' command did not at times report correctly
- the file name in the log. This has been fixed.
-